The Internet, a wide area network (WAN), connects networks all over the world. Many of the connected networks are local area networks (LAN). A LAN can include multiple "local" computer systems, for example, client and server computers. The clients can be personal computers, workstations, portables, and the like, the servers are usually larger systems. Typically, the LAN is connected to the Internet via a "gateway." A gateway serves as a juncture at the symmetric boundary between two Internet networks.
The gateway is usually configured with hardware and software that can process communication messages according to the Internet Protocol (IP) using a TCP/IP stack. The gateway can be part of a dedicated computer system, or part of a system that also performs other functions.
When one of the local computers desires to communicate via the Internet, an Internet connection is usually initiated by either the LAN or the gateway on behalf of the local computer. Communication messages can then be exchanged using IP messages. Each IP message has a source address of the sending computer, and a destination address of the receiving computer. These addresses are known as IP addresses. In order to conduct Internet communications, it is essential that the IP addresses are known beforehand.
In the past, Internet-connected LANs have generally been operated by corporations, governments, educational institutions, or other enterprises. These larger entities usually have a permanent connection to an Internet Service Provider (ISP) and an associated permanently-assigned block of IP addresses. Having permanent IP addresses makes it possible for other systems to communicate with these entities.
However, more recently, computer devices are starting to be used outside of their traditional settings, for example, in homes, schools, and small businesses. In many of these settings, the devices may be connected by a LAN. Users of the devices on the LAN would like the LAN to be connected to the Internet, particularly when they are remote from the LAN. Unfortunately, users are only connected when the LAN needs Internet services, and each time a connection is made between the LAN and the Internet the assigned IP address changes.
However, unlike the larger entities, these more casual users will often choose a less expensive ISP connection, typically using a dial-in modem, or some other mechanism that is only connected to the ISP when needed. This creates a problem for remote users who want to access Internet resources, e.g., users who are away from home or school so that the LAN is not directly accessible.
There is no guarantee that the connection between the LAN and and the ISP will be "up" to allow Internet access to the LAN by the remote user, and even if the connection is up, there is no easy way for the remote user to determine what the current IP address the ISP has assigned. If there is no connection, then there is no way for the remote user to iniate the connection because for various reasons, most ISPs are unwilling or unable to permanently assign IP addresses to casual "dial-up" users, which would be required for the remote user to know what address to send to. Second, ISPs generally do not want to assume the cost for dialing the gateway.
Even if there was a way to initiate the connection, there is no way to determine the IP address that is dynamically assigned by the ISP because a different IP address would be assigned each time an IP connection is requested. These problems are common across the ISP industry.
Therefore, there is a need to allow a remote computer to cause a LAN to initiate an Internet connection with an ISP using dial-up capabilities on demand, and for the remote computer to determine the assigned IP address.